In recent years, there has been extensive activity towards producing devices that are termed programmable, modular radios, or software defined radios. The term Software Defined Radio (SDR) is used to describe radios that provide software control of a variety of modulation techniques, wide-band or narrow-band operation, communications security functions (such as hopping), and waveform requirements of current and evolving standards over a broad frequency range. For a transmitter, this means that waveforms are generated as sampled digital signals, converted from digital to analog via a wideband Digital-to-Analog Converter (DAC), and then upconverted, possibly through an Intermediate Frequency (IF) to Radio Frequency (RF). Similarly, a receiver employs a wideband Analog-to-Digital Converter (ADC) that captures all of the channels of the software radio node. The receiver then extracts, downconverts, and demodulates the waveform digitally. Software radios employ a combination of techniques that include multi-band antennas and RF conversion, wide-band digital-to-analog, IF, and analog-to-digital conversion, base-band and digital signal processing functions. The fundamental idea is that an SDR has one or more Central Processing Units (CPU's) and the SDR provides much of its functionality through software running on the CPU's. As an example, one set of programs may implement FM voice waveforms, another may implement Code Division Multiple Access (CDMA) cell phone waveforms, etc. Thus, one standardized radio may be very quickly reprogrammed from one such application to another by installing a new set of software on that radio's hardware.
The SDR architectures that are currently being defined are highly generic and may typically employ a Peripheral Component Interconnect (PCI) backplane to join the various hardware components. Specific implementations, by contrast, typically use specialized protocols for communication between sub-components within a given radio device. One well-known example employing a PCI backplane is the Joint Tactical Radio System (JTRS) 2C radio. Communication between software entities is accomplished by a specialized set of messages defined in the Software Communications Architecture (SCA) which employs its own unique set of messages, layered atop Common Object Request Broker Architecture (CORBA), layered atop a specialized way to communicate across a PCI bus.
The JTRS architecture is illustrative of current SDR architectures having features which may exemplify a large group of prior art SDR devices. The SDR may include a series of integrated circuits, each of which may have one or more Central Processing Units (CPU's) and which implement the various functions of the SDR through software running on the CPU's. For example, an RF module may include multi-band antennas and RF conversion, wide-band digital-to-analog, IF, and analog-to-digital conversion, base-band and digital signal processing functions. A modem module may include processing similar to the RF module for signals received via a modem connection, which may be one or more of many well known connection types, such as twisted pair, cable, or wireless connections. A system control module may provide routing between the various modules, may include system security procedures and, in general may provide functional control for the SDR. The modules may be connected by a Peripheral Component Interface (PCI) bus. Thus, the architecture may employ an organization akin to a personal computer. That is, the modules may be implemented as hardware cards containing processors, memory, etc., and the critical system interconnects may be implemented via the PCI bus. In addition to processing connectivity, the PCI may also provide power to the modules.
For the military JTRS implementation, the SDR may further include an infosec module, which may provide an internal link between non-secure and secure communications and may include encryption/decryption software. The secure communications portion of the SDR may include a secure network module, a secure system control module and a secure Human Computer Interface (HCI) module. The secure network module may include processing requirements specifically implemented for secure and/or encrypted information, while the secure system control module may have a functionality similar to the non-secure control module. The HCI module may provide necessary processing, such as a Digital-to-Analog Converter (DAC), so as to transmit secure information to a user, as through a speaker. The secure communications portion may also include a secure PCI bus, which may correspond to the non-secure PCI bus. Commercial implementation of the JTRS SDR may include only the non-secure modules as the non-secure control module may provide adequate communications security for normal operations. Depending on the functionality of the other modules, a commercial implementation may also include an HCI module.
With such SDR's, however, the customized software may impede connectivity amongst components. As these sets of protocols have been especially designed for SDR's, their have taken considerable time and effort. Indeed, for some sets of protocols, design and implementation tasks still remain.